package main

import (
	"fmt"
	"time"
	"sync"
)

func test1() {
	for i := 0; i < 10; i++ {
		fmt.Println("test1() 你好golang", i)
		time.Sleep(time.Microsecond * 100)
	}
	wg.Done() // 协程计数器-1
}

func test2() {
	for i := 0; i < 10; i++ {
		fmt.Println("test2() 你好golang", i)
		time.Sleep(time.Microsecond * 100)
	}
	wg.Done() // 协程计数器-1
}

var wg sync.WaitGroup

func main() {
	start := time.Now().UnixNano() // 获取当前时间戳
	 wg.Add(1)
	 go test1()
	 wg.Add(1)
	 go test2()

	 wg.Wait() // 等待所有协程结束
	 fmt.Println("所有协程结束")
	 end := time.Now().UnixNano() // 获取当前时间戳
	 fmt.Println("耗时:", (end-start)/1e6, "毫秒")

	// 方法1
	// time.Sleep(time.Second) //不好
	
}